Advanced user interaction features for remote park assist

ABSTRACT

Vehicle systems include features for performing remote park assist (RePA) operations. One system include a feature where a user provides a continuous input via a touchscreen on a mobile device. The mobile device transmits a message and a vehicle autonomously traverses a calculated parking path while the message is being received by the vehicle. Another system include a feature where the vehicle autonomously move to a parking space based on data received from the mobile device. The mobile device receives user inputs on a display showing representations of the vehicle and its surrounding areas to generate the data. Another system include a feature where the mobile device determines whether the user is a first time user of a RePA application. The mobile device operates in a certain training mode based on the determination.

TECHNICAL FIELD

The present disclosure generally relates to a vehicle system with a remote park assist park feature, and, more specifically, a vehicle and a mobile device intercommunication for performing operations related to remote park assist.

BACKGROUND

A remote parking assist (RePA) system is designed to autonomously park a vehicle. The RePA system is intended to be used when the operator is outside the vehicle. The operator triggers the RePA system to park or un-park a vehicle into or out of a parking space using a mobile device wirelessly communicating with the vehicle. Generally, in RePA systems, the mobile device communicates with the vehicle to initiate the autonomous parking maneuver. However, these RePA systems provide inadequate features for a user to intervene and manage the autonomous parking maneuver.

SUMMARY

The appended claims define this application. The present disclosure summarizes aspects of the embodiments and should not be used to limit the claims. Other implementations are contemplated in accordance with the techniques described herein, as will be apparent to one having ordinary skill in the art upon examination of the following drawings and detailed description, and these implementations are intended to be within the scope of this application.

Systems are disclosed for remote park assist. An example vehicle system includes a mobile device including a touchscreen. The example mobile device display a track and an indicator to guide an interaction between a user input and the track. The example indicator responds to a movement of the user input along the track. The example mobile device transmits a message in response to the movement. The example vehicle autonomously traverses a calculated parking path while the message is being received.

An example vehicle system includes a vehicle to detect surrounding areas thereof. The example vehicle estimates, based on data, a parking space and boundaries of obstacles around the space. The example vehicle autonomously moves to the parking space. The example vehicle system includes a mobile device including a touch screen. The example mobile device displays representations of the vehicle and the surrounding areas, receives user inputs on a display showing the representations to generate the data, and transmits the data.

An example vehicle system includes a mobile device including a touchscreen. The example mobile device automatically operates in a first training mode when the mobile device determines that a user is a first time user of a remote park assist (RePA) application, operate in a second training mode when the mobile device determines that the user is not the first time user of the RePA application, provide a display for receiving a user input, the display comprising an indicator to guide a user for providing the input, the indicator being responsive to the first training mode and the second training mode, and transmit a message in response to the user input. The example vehicle system includes a vehicle to autonomously traverse a calculated parking path while the message is being received.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the invention, reference may be made to embodiments shown in the following drawings. The components in the drawings are not necessarily to scale and related elements may be omitted, or in some instances proportions may have been exaggerated, so as to emphasize and clearly illustrate the novel features described herein. In addition, system components can be variously arranged, as known in the art. Further, in the drawings, like reference numerals designate corresponding parts throughout the several views.

FIG. 1 illustrates a vehicle and a mobile device operating in accordance with this disclosure.

FIGS. 2A, 2B, and 2C illustrate an interface on the mobile device of FIG. 1.

FIGS. 3A, 3B, and 3C illustrate another interface on the mobile device of FIG. 1.

FIGS. 4A, 4B, and 4C illustrate yet another interface on the mobile device of FIG. 1.

FIGS. 5A and 5B illustrates yet another interface on the mobile device of FIG. 1.

FIG. 6A, 6B, 6C, and 6D illustrate the vehicle of FIG. 1 in a certain scenario and the mobile device of FIG. 1 displaying an interface based on the scenario.

FIG. 7 is a block diagram of electronic components of the vehicle of FIG. 1.

FIG. 8 is a flowchart of a method to assist an operator operating the remote park assist system of the vehicle of FIG. 1, which may be implemented by the electronic components of FIG. 7.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

While the invention may be embodied in various forms, there are shown in the drawings, and will hereinafter be described, some exemplary and non-limiting embodiments, with the understanding that the present disclosure is to be considered an exemplification of the invention and is not intended to limit the invention to the specific embodiments illustrated.

Remote park assist (RePA) system is designed to autonomously park and un-park vehicles when the operator is outside the vehicle. For example, RePA system may be used when a parking spot is too narrow for the operator to open the door, or passengers to open their doors, when the vehicle is parked. RePA systems use range detection sensors (e.g., ultrasonic sensors, radar, LiDAR, cameras, etc.) to sense the environment around the vehicle and plan and execute a path into and out of the parking spot. Generally, the RePA system is activated via an application on a mobile device (e.g., smartphone, tablet, smart watch, key fob, etc.). The mobile device may include a display device, such as a touchscreen, and/or input devices to facilitate and control various RePA operations. Once the RePA system is activated, the RePA system scans an area surrounding the vehicle with the range detection sensors to detect potential parking spaces. Upon detecting a potential parking space and receiving confirmation from the user, the vehicle autonomously moves to the detected parking space. However, in many cases, the RePA system cannot detect a potential parking spot initially due to physical limitations of the range detection sensors. For example, it may be difficult for a vehicle including the range detection sensors to detect where exactly the potential parking space is located solely based on sensory information received form the range detection sensors.

As described below, the RePA system of a vehicle is paired with a mobile device to receive information regarding a potential parking space from an operator of the vehicle and estimate a location of the potential parking space based on the received information. In some examples, the RePA system detects the area surrounding the vehicle and transmits information regarding the detected area to the mobile device. The mobile device receives the information and displays virtual representations of the vehicle and the detected area surrounding the vehicle. For example, the detected area may include objects such as other vehicles, walls, pedestrians, and/or obstacles. The virtual representations of the vehicle and the surrounding area are displayed such that dimensions of the virtual representations of the vehicle and the surrounding area are scaled according to actual dimensions of the vehicle and the surrounding area. Subsequently, the operator provides an input indicative of the potential parking space based on the virtual representations. For example, the mobile may display two parked vehicles and a space between the vehicles, and the operator may select and drag the representation of the vehicle to be parked to the space between the two parked vehicles. In addition to selecting and dragging the representation of the vehicle to a desired parking space, the orientation of the vehicle can be further manipulated based on the user's preference. For example, the user may double-click the representation of the vehicle to rotate the vehicle in 180 degrees. The mobile device further transmits data regarding a user-selected parking space to the RePA system. The RePA system receives the data and prepares to initiate an autonomous parking maneuver. However, before initiating the autonomous parking maneuver, the RePA system determines whether the user-selected parking space is a valid parking space.

The RePA system determines whether a status of the user-selected parking space is valid, invalid, or unknown. A valid user-selected parking space is a space that the RePA system determines, using current measurements from the range detection sensors, has dimension in which the vehicle will fit. When the user-selected parking space is valid, the RePA system calculates a path for the vehicle to autonomously move to the user-selected parking spot. An invalid user-selected parking space is a space that the RePA system determines, using current measurements from the range detection sensors, has dimension in which the vehicle will not fit. For example, if the user-selected parking space overlaps another vehicle, the user-selected parking space is invalid. When the user-selected parking space is invalid, the RePA system causes the mobile device to display an error message and prompt the operator to input a different parking space. An unknown user-selected parking space is a space that the RePA system cannot determine, using current measurements from the range detection sensors, whether the user-selected parking space is valid or invalid. When the status of the user-selected parking space is unkown, the RePA system calculates a path to an intermediate position between the vehicle and the user-selected parking space. In some examples, the intermediate position is not a location within a direct path from the vehicle to the user-selected parking space. In such examples, the intermediate position may be a position that enables the RePA system to better detect the user-selected parking space. For example, the intermediate position may be in a location that is not a location on a path to park into the user-selected parking space; rather, the intermediate position may be a location from which line of sight(s) of the range detection sensor(s) include the user-selected parking space. The RePA system calculates a path for the vehicle to autonomously move to the intermediate position. In the intermediate position, the RePA system measures the surrounding area to determine the properties of the user-selected parking space. Subsequently, the RePA system repeats this process until the RePA system is able to determine whether the user-selected parking space is valid or invalid. .

To enable autonomous movement along a calculated path (e.g., into the parking space, to an intermediate position, etc.), the RePA system enables autonomous movement along a calculated path in response to receiving continuous input from the mobile device. Otherwise, if the continuous input is not received from the mobile device, the RePA system disables autonomous movement. As used herein, continuous input refers to receiving signals from the mobile device indicating operator engagement with the mobile device at a threshold interval to demonstrate that the operator is present and cognizant of the autonomous parking maneuvers. The RePA system performs the autonomous parking maneuver along the calculated path when the autonomous movement is enabled. To demonstrate operator engagement with the mobile device, the RePA system, via an interface on the mobile device, provides a certain interaction to be performed between the operator and the mobile device during the autonomous parking maneuver. For example, a mobile device including a touchscreen may display a circular track. While the operator maintains contact with the circular track and continuously provides a circular motion along the track, the mobile device transmits a message indicating this continuous input. In some examples, the mobile device further displays indicators in addition to the circular track to facilitate the interaction between the circular track and the operator. While the RePA features provide additional security, it may be difficult for first time users of the application to perform the interaction. Additionally, it may be desirable for experienced users of the RePA features to quickly access the application to perform the interaction.

In some examples, the mobile device provides training modes for using the RePA system based on the experience level of the user. For example, the mobile device may mandate a tutorial when the mobile device determines that the user is a first time user of the RePA system. In some examples, the mobile device provides a user-configurable default settings for experienced users of the RePA feature.

FIG. 1 illustrates a vehicle 100 and a mobile device 102 operating in accordance with this disclosure. In this illustrative example, the mobile device 102 is a smartphone. In alternative examples, the mobile device 102 may be a smart watch, a tablet, a key fob, personal digital assistant (PDA), or any other portable device that facilitated input from an operator. The mobile device 102 includes an application to facilitate operator input into RePA operations. In some examples, the mobile device 102 includes a display device and one or more input devices for providing a user interface to interact with the RePA system of the vehicle 100. In the illustrated example, the display device is a touch screen. In some examples, the input devices are hard (e.g., physical) buttons and/or soft (e.g., virtual) buttons on the touch screen. The mobile device 102 includes an application to interact with the RePA system. When the RePA system is operating, the mobile device 102 receives sensory data from the vehicle 100. The sensory data includes vehicle information and environment information. In some examples, the vehicle information include dimensions of the vehicle 100, such as length and width. The environment information includes information regarding the area around the vehicle 100 and any obstacles (e.g., other vehicle, pedestrians, walls, barriers, etc.) located within the area. Based on the vehicle information and the environment information, the mobile device 102 displays virtual representations of the vehicle 100 and the area surrounding the vehicle 100. The virtual representations of the vehicle 100 and the surrounding area are displayed such that dimensions of the virtual representations of the vehicle 100 and the surrounding area are scaled according to actual dimensions of the vehicle 100 and the surrounding area. Using the input device(s), the operator selects a desired parking space based on the virtual representations of the vehicle 100 and the surrounding area.

In some examples, the user provides an input via the touchscreen 110 by selecting and dragging the virtual representation of the vehicle 100 to the desired parking space. FIGS. 2A, 2B, and 2C illustrate an example interface to facilitate the operator selecting the desired parking space by manipulating a representation of the vehicle 100. In the illustrated examples of FIGS. 2A, 2B, and 2C), the display device displays a highlighted version 202 of the virtual representation of the vehicle 100 to indicate a starting position of the vehicle 100 and an outlined version 204 of the virtual representation of the vehicle 100 to indicate the desired location of the vehicle 100. Additionally, an orientation at which the vehicle 100 is parked can be manipulated by interacting with the outlined version 204. For example, the user may double-click the outlined version 204 representation of the vehicle 100 to rotate the representation of the vehicle 100 in 180 degrees. Alternatively or additionally, in some examples, the user rotates the virtual representation of the vehicle 100 by moving two of the user's fingers to provide a rotating motion on the portion of the display device. In some such examples, the display device may provide a virtual protractor to assist the user while the user rotates the virtual representation of the vehicle 100.

In some examples, a virtual parking space 302 is displayed on the display device in addition to the highlighted version 202 of the virtual representation of the vehicle 100. FIGS. 3A, 3B, and 3C illustrate an example interface to facilitate the operator selecting the desired parking space by manipulating the virtual parking space 302. The virtual parking space 302 is displayed on the display device such that: (1) the virtual parking space 302 is adjacent to the virtual representation of the vehicle 100; and (2) the virtual parking space 302 does not overlap the virtual representation of the vehicle 100. The virtual parking space 302 is representative of dimensions of a parking space in which the vehicle 100 will fit. In the illustrative examples, the highlight version 202 of the virtual representation of the vehicle 100 is not selectable, and the user selects and drags the virtual parking space 302 to the position of the desired parking space. The virtual parking space 302 facilitates the user distinguishing the starting location of the vehicle 100 from a user-selected parking location of the vehicle 100. Additionally, the orientation of the virtual parking space 302 may be manipulated by the user in the same manner as discussed with respect to the outlined version 204 of the virtual representation of the vehicle 100 in FIGS. 2A, 2B, and 2C above.

In some examples, the user sketches an outline 402 to define the desired parking space. In some examples, the interface of FIGS. 4A, 4B, and 4C is used in conjunction with the interfaces described in FIGS. 2A, 2B, and 2C and FIGS. 3A, 3B, and 3C above. Referring to FIGS. 4A, 4B, and 4C, the user inputs a sketch on the display device to provide an outline 402 defining a slot. The slot facilitates the user defining the desired parking space. For example, the user may select and drag the outlined version 204 the virtual representation of the vehicle 100 or the virtual parking space 302 into the slot in the same manner as discussed above with respect to FIGS. 2A, 2B, 2C, 3A, 3B, and 3C. Additionally, the mobile device 102 facilitates the user rotating the outline 402 based the user's input. In some examples, the outline 402 is representative of boundaries of the one or more obstacles as defined in the environment information provided from the vehicle 100. For example, in a scenario where a parking space exists between two vehicles, the user may provide a sketch outlining the boundaries of the vehicles and the parking space. Generally, a sketch provided on a touchscreen 110 is crudely drawn, and it may difficult for the user to provide the sketch accurately to define the slot. In the illustrative example, the touchscreen 110 of the mobile device 102 receives the sketch. The mobile device 102 estimates one or more straight lines based on the sketch, and generates a snap-to-grid outline 404. In such examples, the mobile device 102 uses a snap-to-grid assist to generate the snap-to-grid outline 404. The snap-to-grid assist compares a crudely shaped line to a grid and align the crudely shaped line to the nearest reference within the grid. In this illustrative example, the grid is not shown on the mobile device 102, however, in alternative examples, the grid may be shown.

Once the desired parking space and the outline 402 is provided by the user, the mobile device 102 generates user-selected parking data based on the desired parking space and the outline 402 and transmits the parking data to the vehicle 100.

In some examples, the touchscreen 110 of the mobile device 102 displays an interface that is interactive with operations of the RePA system of the vehicle 100. In the illustrated examples of FIGS. 5A, 5B, and 5C), the touchscreen 110 of the mobile device 102 displays a user-interactive track 502. The user-interactive track 502 includes a button 504 and an indicatorarrow 506. The button 504 is interactive with the user input. When the user maintains a constant contact with the button 504 and provides a steady movement along the track 502 that satisfies a threshold speed, the mobile device 102 periodically (e.g., every 100 milliseconds, every 250 milliseconds, every 500 milliseconds, etc.) transmits an activation message to the vehicle 100. The mobile device 102 stops transmitting the messages when the user stops making contact with the button 504 or when the user fails to provide the steady movement along the track 502 at or above the threshold speed. As such, the mobile device 102 ensures that the activation message is transmitted to the vehicle 100 only when the user is actively interacting with the mobile device 102 to demonstrate the user is in possession of the mobile device 102 and that the user is aware of the vehicle 100 during operation of the RePA system.

In this illustrative example, the user-interactive track 502 is a circular track 502. In alternative examples, the shape of the user-interactive track 502 may be in any other form. The arrow 506 is connected to the button 504 and is formed within the track 502 to indicate a direction to which the user should be moving the button 504. In some examples, the mobile device 102 further displays indicators in addition to the user-interactive track 502 to facilitate the interaction between the track 502 and the user. In some examples, the indicators are colors, shapes, sizes, and/or animations of visual elements that are displayed on the touchscreen 110. For example, the color of a background of the application, the user-interactive track 502, or the arrow 506 may be gray when the touchscreen 110 detects that no user input is being provided. In another example, the color of the background of the application, the user-interactive track 502, or the arrow 506 may be orange when the mobile device 102 detects that the user's movement along the track 502 does not satisfy the certain threshold speed. In another example, the color may be green when the user's movement along the track 502 is satisfactory. In another example, the button 504 may be moving steadily around the user-interactive track 502 when there is no contact between the button 504 and the user. In some examples, the indicators are texts displayed on the touchscreen 110 instructing the user as to how the user should interact with the user-interactive track 502.

In some examples, the mobile device 102 provides training modes for using the RePA feature based on the experience level of the user. For example, the mobile device 102 may determine that the user is a first time user of the RePA feature when the mobile device 102 executes the RePA application on the mobile device 102 for the first time. In such example, the mobile device 102 operates the RePA application in a first training mode. In the first training mode, a tutorial is provided once the RePA application is initiated. The tutorial may include animation or video to instruct the user as to how the RePA feature should be used. In the first training mode, the indicators are displayed on the touchscreen 110 to assist the user. When the mobile device 102 determines that the user is not a first-time user of the RePA application or the application is not being executed for the first time, the RePA application operates the RePA application in a second training mode. In the second training mode, the instructions and/or visual cues for aiding the user are fewer compared to the first training mode. For example, the indicators may be partially displayed. In some examples, the second training mode provides a user-configurable default settings for experienced users of the RePA system.

Returning to FIG. 1, the vehicle 100 may be a standard gasoline powered vehicle, a hybrid vehicle, an electric vehicle, a fuel cell vehicle, and/or any other mobility implement type of vehicle. The vehicle 100 includes parts related to mobility, such as a powertrain with an engine, a transmission, a suspension, a driveshaft, and/or wheels, etc. The vehicle 100 is a semi-autonomous vehicle (e.g., some routine motive functions, such as parking, are controlled by the vehicle 100), or an autonomous vehicle (e.g., motive functions are controlled by the vehicle 100 without direct driver input). In the illustrated example, the vehicle 100 includes range detection sensors 108, an on-board communication platform 106, and an electronic control unit (ECU) 104.

The range detection sensors 108 may be ultrasonic sensors, radar, LiDAR, cameras, etc. In some examples, the range detection sensors 108 are installed on the outer edge surfaces of the vehicle 100. The range detection sensors 108 detect elements within a predetermined distance from the vehicle 100. In some examples, a sensing range of the range detection sensors 108 covers one or more areas around the vehicle 100. In some examples, the sensing range of the range detection covers all of the areas located in 360 degrees around the vehicle 100. The range detection sensors 108 are electronically connected to the ECU 104 to transmit sensing signals.

The on-board communication platform 106 communicatively couples to the mobile device 102 and the vehicle 100. Additionally, the on-board communication platform 106 manages communication between the ECU 104 and the mobile device 102. The on-board communication platform 106 receives the sensory data from the ECU 104 and transmits the same or a subset thereof to the mobile device 102. Further, the on-board communication platform 106 receives the user-selected parking data from the mobile device 102 and transmits the user-selected parking data to the ECU 104. The on-board communication platform 106 also includes hardware (e.g., processors, memory, storage, antenna, etc.) and software to control wireless network interfaces. The on-board communications platform 106 includes one or more communication controllers for standards-based networks (e.g., Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), Long Term Evolution (LTE), Code Division Multiple Access (CDMA), WiMAX (IEEE 802.16m); Bluetooth® or Bluetooth® Low Energy (BLE); local area wireless network (including IEEE 802.11 a/b/g/n/ac or others), dedicated short range communication (DSRC), and Wireless Gigabit (IEEE 802.11ad), etc.) to directly (via a personal area network connection or a wireless area network connection) or indirectly (e.g., via a cellular connection) communicatively couple to the mobile device 102.

The ECU 104 is communicatively coupled to the range detection sensors 108 and the on-board communication platform 106. The ECU 104 comprises a RePA system 114 for performing the RePA operations. The ECU 104 receives the sensing signal from the range detection sensors 108 and calculates a distance between each of the range detection sensors 108 and its detected element based on the sensing signal. Based on the calculation, the ECU 104 forms a virtual map of the detected elements and generates the environment information. The ECU 104 uses the environment information and vehicle information to generate the sensory data and transmit the sensory data to the mobile device 102 via the on-board communication platform 106. The ECU 104 further receives the user-selected parking data via the on-board communication platform 106. The ECU 104 extracts information regarding the desired parking space and the outline 402 from the user-selected parking data. Based on the extracted information, the ECU 104 performs an autonomous parking maneuver. Specifically, the ECU 104 includes the RePA system 114 that, when engaged, performs autonomous parking maneuvers when a valid parking spot is detected and messages indicative of continuous user input are received from the mobile device 102.

As an example, referring to FIG. 6A, the vehicle 100 may be in a scenario where the RePA system 114 cannot detected whether a parking space exists in a proximity of the vehicle 100. In this illustrated example, the vehicle 100 detects obstacles within a sensing range 602 covering an area that is 360 degrees around the vehicle 100. In such examples, the range detection sensors 108 covering these areas detect up to a predetermined distance. In the illustrated examples, multiple vehicles 604 are located in the vicinity of the vehicle 100. Additionally, a parking space 606 is exists between the two vehicles 604. The vehicle 100, however, is positioned with respect to the vehicles 604 such that the range detection sensors 108 of the vehicle 100 cannot detect a portion 608 of the parking space 606. In such examples, the RePA system 114, when activated: (1) detects, via the range detection sensors 108, the area within the sensing range 602 based on the current position/orientation of the vehicle 100; (2) generates the sensory data based on the detection; and (3) transmits the sensory data to the mobile device 102 of the user. As illustrated in FIG. 6B, the mobile device 102 receives the sensory data and displays a virtual representation 600 of the vehicle 100 and the surrounding area. The virtual representation 600 provides context 602 as to where the parking space may be located. For example, the context may be based on a curvature of boundaries of obstacles as defined in the environment information. In the examples illustrated in FIGS. 6C and 6D, the context 602 facilitates user input of the desired parking space and the outline 402. Information regarding the outline 402 enables the RePA system 114 to estimate the boundary of the obstacles around the desired parking space even when the boundary of the obstacles around the desired parking space is undetectable by the range detection sensors 108. In some examples, the RePA system, based on current measurements from the range detection sensors 108, cannot determine whether the parking space indicated by the user is actually suitable for the vehicle 100. For example, the RePA system 114 may determine that at least some of the indicated parking space is available, but may not be able to determine the entire dimensions of the space. In such examples, the ECU 104 calculates a path to an intermediate position near the desired parking space such that the range detection sensors 108 can detect the dimensions of the desired parking space at the intermediate position. When receiving messages from the mobile device 102 indicative of continuous input from the user, the ECU 104 autonomously moves to the intermediate position. This process may be repeated until the vehicle 100 is positioned at a location in which the RePA system 114 is able to determine whether the desired parking position is valid or invalid. In some examples, the intermediate position is not at a point on a direct path from the vehicle 100 to the desired parking space. In such examples, the intermediate position may be a position and/or an orientation of the vehicle 100 that enables the RePA system 114 to better detect the desired parking space. When, either initially or after moving to an intermediate position, the RePA system 114 determines that the desired parking space is invalid, the RePA system 114 provides an alert to the mobile device 102. In some examples, the RePA system 114 further determines, based on the current position, whether a new parking space can be found based on the measurements from the range detection sensors 108. If a new parking space is detected, the RePA system 114 instructs the mobile device 102 to prompt the user as to whether the user accepts the new parking space. Based on the user's decision, the RePA system 114 calculates a path for the vehicle 100 to autonomously move to the new parking space. When, either initially or after moving to an intermediate position, the RePA system 114 determines that the desired parking space is valid, the RePA system 114 calculates a path into the parking space to be traversed when the continuous input signal is received from the mobile device 102.

FIG. 7 is a block diagram of electronic components of the vehicle 100 of FIG. 1. In the illustrate example, the electronic components include the ECU 104, the range detection sensors 108, the on-board communication platform 106, and a vehicle data bus 702.

In the illustrated example, the ECU 104 includes a processor or controller 704 and memory 706. In the illustrated example, the ECU 104 is structured to include the RePA system 114. The processor or controller 704 may be any suitable processing device or set of processing devices such as, but not limited to: a microprocessor, a microcontroller-based platform, a suitable integrated circuit, one or more field programmable gate arrays (FPGAs), and/or one or more application-specific integrated circuits (ASICs). The memory 706 may be volatile memory (e.g., RAM, which can include non-volatile RAM, magnetic RAM, ferroelectric RAM, and any other suitable forms); non-volatile memory (e.g., disk memory, FLASH memory, EPROMs, EEPROMs, non-volatile solid-state memory, etc.), unalterable memory (e.g., EPROMs), read-only memory, and/or high-capacity storage devices (e.g., hard drives, solid state drives, etc.). In some examples, the memory 706 includes multiple kinds of memory, particularly volatile memory and non-volatile memory.

The memory 706 is computer readable media on which one or more sets of instructions, such as the software for operating the methods of the present disclosure can be embedded. The instructions may embody one or more of the methods or logic as described herein. In a particular embodiment, the instructions may reside completely, or at least partially, within any one or more of the memory, the computer readable medium, and/or within the processor 704 during execution of the instructions.

The terms “non-transitory computer-readable medium” and “tangible computer-readable medium” should be understood to include a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. The terms “non-transitory computer-readable medium” and “tangible computer-readable medium” also include any tangible medium that is capable of storing, encoding or carrying a set of instructions for execution by a processor or that cause a system to perform any one or more of the methods or operations disclosed herein. As used herein, the term “tangible computer readable medium” is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals.

The vehicle data bus 702 communicatively couples the on-board communication platform 106 and the ECU 104. In some examples, the vehicle data bus 702 includes one or more data buses. The vehicle data bus 702 may be implemented in accordance with a controller area network (CAN) bus protocol as defined by International Standards Organization (ISO) 11898-1, a Media Oriented Systems Transport (MOST) bus protocol, a CAN flexible data (CAN-FD) bus protocol (ISO 11898-7) and/a K-line bus protocol (ISO 9141 and ISO 14230-1), and/or an EthernetTM bus protocol IEEE 802.3 (2002 onwards), etc.

FIG. 8 is a flowchart of a method of operating the remote park assist system of the vehicle 100 of FIG. 1, which may be implemented by the electronic components of FIG. 7.

At block 802, the user initiates the RePA system. In some examples, the RePA system 114 is initiated by the mobile device 102. In some examples, the RePA system 114 is initiated via an infotainment unit (not shown) included in the vehicle 100.

At block 804, the range detection sensors 108 detects the surrounding area of the vehicle 100. The RePA system 114 calculates a distance between the vehicle 100 and the detected obstacles based on the measurements of the range detection sensors 108. Based on the calculation, the RePA system 114 forms a virtual map of the detected elements and generates the environment information. The RePA system 114 uses the environment information and vehicle information to generate the sensory data and transmits the same to mobile device 102.

At block 806, the mobile device 102 receives sensory data from the vehicle 100. The sensory data includes vehicle information and environment information. Based on the vehicle information and the environment information, the mobile device 102 displays virtual representations of the vehicle 100 and the area surrounding the vehicle 100. The virtual representations of the vehicle 100 and the surrounding area are displayed such that dimensions of the virtual representations of the vehicle 100 and the surrounding area are scaled according to the actual dimensions of the vehicle 100 and the surrounding area. An example interface used to display the virtual representations of the vehicle 100 and the area surrounding the vehicle 100 are described in connection with FIGS. 6B, 6C, and 6D above.

At block 808, the user provides the user-selected parking data via the mobile device 102. In some examples, the user provides a user input via the touchscreen 110 to select and drag the virtual representation of the vehicle 100 to the desired parking space (as illustrated in FIG. FIGS. 2A, 2B, and 2C above). In alternatively examples, a virtual parking space 302 may be displayed on the display device in addition to the virtual representation of the vehicle 100. The user may provide the user input via the touchscreen 110 to select and drag the virtual parking space 302 to the desired parking space (as illustrated in FIGS. 3A, 3B, and 3C above). In some examples, the user further provides an input to sketch an outline 402 defining a slot (as illustrated in FIGS. 4A, 4B, and 4C above). The mobile device 102 generates the user-selected parking data based on the desired parking space and the outline 402 and transmits the same to the vehicle 100.

At block 810, the RePA system 114 receives the user-selected parking data from the mobile device 102. The RePA system 114 extracts information regarding the desired parking space and the outline 402 from the user-selected parking data. The RePA system 114 compares the information regarding the desired parking space and the outline 402 with the sensory data.

As block 812, the RePA system 114 determines whether the desired parking space is invalid based on a comparison between the desired parking space and the area detected by the range detection sensors 108 of the vehicle 100. An invalid parking space indicates that the vehicle 100 cannot be physically be parked in desired parking space. For example, the desired parking space may overlap at least one obstacle within the area detected by the range detection sensors 108. When the RePA system 114 determines that the desired parking space invalid, the method continues to block 828. When the RePA system 114 determines that the desired parking space is valid, or when the RePA system 114 is unable to determine whether the desired parking space is valid or invalid, the block continues to block 814.

At block 814, the RePA system 114 determines whether the desired parking space is valid. A valid parking space indicates that the vehicle 100 can be parked in desired parking space. When the desired parking space is valid, the method continues to block 834. When the desired parking space is unknown, the method continues to block 816.

At block 816, the RePA system 114 calculates a path to an intermediate positon between the vehicle 100 and the user-selected parking space.

At block 818, the RePA system 114 determines whether message indicative of the user providing continuous input are received from the mobile device 102. When the RePA system 114 determines that the message is being received, the method continues to block 822. When the RePA system 114 determines that the message is not being received, the method continues to block 820.

At block 820, the RePA system 114 stops the autonomous motion of the vehicle 100.

At block 822, the RePA system 114 the autonomously moves the vehicle 100 along the calculated path.

At block 824, the RePA system 114 determines whether the vehicle 100 has arrived at the intermediate position. When the vehicle 100 has arrived at the intermediate position, the method continues to block 826. When the vehicle 100 has yet to arrive at the intermediate position, the method returns to block 818.

At block 826, the RePA system 114 uses the range detection sensors 108 to detect the surrounding area of the vehicle 100 at the intermediate position.

At block 828, after determining that the user-selected parking space is invalid, the RePA system 114 instructs the mobile device 102 to display an error message to the user.

At block 830, the RePA system 114 determines whether a new parking space can be detected in the current position of the vehicle 100 based on the measurements from the range detection sensors 108. When a new parking space is detectable in the current position of the vehicle 100, the method continues to block 832. When a new parking space undetectable in the current position of the vehicle 100, the method returns to block 808.

At block 832, the RePA system 114 instructs the mobile device 102 prompt the user as to whether the user accepts the new parking space as the desired parking space. When the user accepts the new parking space, the method continues to block 834. When the user rejects the new parking space, the method returns to block 808.

At block 834, the RePA system 114 calculates a path to the desired parking space.

At block 836, the RePA system 114 determines whether the message indicative of continuous user input is received from the mobile device 102. When the RePA system 114 detects that the message is being received, the method continues to block 840. When the RePA system 114 detects that the message is not being received, the method continues to step block 838.

At block 838, the RePA system 114 stops the autonomous motion of the vehicle 100.

At block 840, the RePA system 114 autonomously moves the vehicle 100 along the calculated path.

At block 842, the RePA system 114 determines whether the vehicle 100 has arrived at the desired parking position. When the vehicle 100 has arrived at the desired parking position, the method ends. When the vehicle 100 has not arrived at the desired parking position, the method returns to step 836.

The flowchart of FIG. 8 is representative of machine readable instructions stored in memory (such as the memory 706 of FIG. 7) that comprise one or more programs that, when executed by a processor (such as the processor 704 of FIG. 7), cause the vehicle 100 to implement the example RePA system 114 and/or, more generally, the example RePA system 114 of FIGS. 1 and 7. Further, although the example program(s) is/are described with reference to the flowchart illustrated in FIG. 8, many other methods of implementing the example RePA system 114 and/or, more generally, the example RePA system 114 may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined.

In this application, the use of the disjunctive is intended to include the conjunctive. The use of definite or indefinite articles is not intended to indicate cardinality. In particular, a reference to “the” object or “a” and “an” object is intended to denote also one of a possible plurality of such objects. Further, the conjunction “or” may be used to convey features that are simultaneously present instead of mutually exclusive alternatives. In other words, the conjunction “or” should be understood to include “and/or”. As used here, the terms “module” and “unit” refer to hardware with circuitry to provide communication, control and/or monitoring capabilities, often in conjunction with sensors. “Modules” and “units” may also include firmware that executes on the circuitry. The terms “includes,” “including,” and “include” are inclusive and have the same scope as “comprises,” “comprising,” and “comprise” respectively.

The above-described embodiments, and particularly any “preferred” embodiments, are possible examples of implementations and merely set forth for a clear understanding of the principles of the invention. Many variations and modifications may be made to the above-described embodiment(s) without substantially departing from the spirit and principles of the techniques described herein. All modifications are intended to be included herein within the scope of this disclosure and protected by the following claims. 

What is claimed is:
 1. A vehicle system, comprising: a mobile device comprising a touchscreen, the mobile device to: automatically operate in a first training mode when the mobile device determines that a user is using a remote park assist (RePA) application for the first time; operate in a second training mode when the mobile device determines that the user is not using the RePA application for the first time; provide a display for receiving a user input, the display comprising an indicator to guide a user for providing the user input, the indicator being responsive to the first training mode and the second training mode; and transmit a message in response to the user input; and a vehicle to autonomously traverse a calculated parking path while the message is being received.
 2. The vehicle system of claim 1, wherein the second training mode provides at least one user-configurable default setting. 